1. Technical Field
The present disclosure relates generally to computer-aided design, and more specifically to techniques for simplifying graphs representing complex information relationships in a model.
2. Background Information
To better manage the complexities of modern designs, engineers and designers often turn to computer-aided design. In computer-aided design, an engineer or designer creates a model that embodies, or otherwise represents, a physical entity. For example, a model may represent a three-dimensional object or structure, such a building or component. The model is typically refined and analyzed by engineers and/or designers, sometime aided by analytical tools. During refinement and analysis, the engineers and/or designers may review the model from different perspectives, and consider different features thereof. A completed model may be used to generate documents (such as plans) useful in building the physical entity, or for other purposes.
The models of many physical entities contain large amounts of information that have complex information relationships. Graphs are often maintained by computer systems to represent the complex information relationships, and to facilitate their display to a user. In general, a graph (G) is a structure that comprises two sets: a set (V) of nodes and a set (E) of links (alternatively referred to as “edges”) that connect nodes, such that a graph may be represented mathematically as G=<V,E>. The semantics (i.e., meaning) of a graph is typically defined by the semantics of the nodes (e.g., the portion of the physical entity each node represents), the semantics of the links (e.g., the relationship between portions of the physical entity the links signify), and the topology of the graph (e.g., the arrangement of the nodes and links). For example, in a graph corresponding to a three-dimensional structure being modeled, each node may represent a point, a line, a curve, a plane, etc., while each link may represent a relationship between nodes, and the arrangement of the nodes and links may define the contours of the three-dimensional object.
When a graph is presented to a user by a computer system, for example, on a display screen of the computer system, the user interprets (i.e., consumes) the semantics of the graph to understand the information being conveyed. When graphs are small and simple, the user may readily consume all the semantics being conveyed. For example, in a graph corresponding to a simple three-dimensional object, having a few nodes and links, the user may be able to readily interpret the semantics of the nodes, the semantics of the links, and the topology of the graph.
However, in the case of large, complex graphs, it may be difficult, or impossible, for a user to consume all the semantics of the graph at one time. The user may simply be overwhelmed by the amount of information presented. To address this issue, some modeling platforms attempt to group elements (e.g., links and nodes) to reduce the number of elements displayed to the user. In this manner, a simplified graph is created and then presented. However, such modeling platforms typically do not preserved all the semantics of the original graph. For instance, the semantics of the nodes and/or the semantics of the links are often not fully preserved in a form that permits a user to readily access the semantics (e.g., via a query) and/or to restore the graph to an unsimplified form (e.g., by ungrouping the elements). Typically, at least some semantics are not readily accessible and/or are not readily restorable. The loss of semantics may be particularly acute when graph simplification results in a large number of nested groups of elements, with semantics generally being lost when the levels of nesting increases beyond certain limits.
Accordingly, there is a need for improved techniques for simplifying a graph that represents complex information relations in a model of a physical entity, where such techniques better preserve graph semantics.